package blog

import (
	"encoding/json"
	"time"
)

type Blog struct {
	// 文章的唯一标识符, 给程序使用
	Id int64 `json:"id"`
	// 创建时间
	CreatedAt int64 `json:"created_at"`
	// 更新时间
	UpdatedAt int64 `json:"updated_at"`
	// 发布时间
	PublishedAt int64 `json:"published_at"`
	// 文章的状态
	Status Status `json:"status"`
	// 审核时间
	AuditAt int64 `json:"audit_at"`
	// 是否审核成功
	IsAuditPass bool `json:"is_audit_pass"`
	*CreateBlogRequest
}

func NewBlog(req *CreateBlogRequest) *Blog {
	return &Blog{
		CreatedAt:         time.Now().Unix(),
		CreateBlogRequest: req,
	}
}

type BlogSet struct {
	Total int64   `json:"total"`
	Item  []*Blog `json:"item"`
}

func NewBlogSet() *BlogSet {
	return &BlogSet{
		Item: []*Blog{},
	}
}

func (t *Blog) String() string {
	js, _ := json.Marshal(t)
	return string(js)
}
